matlab上简单牛顿

您所在的位置:网站首页 matlab 求积 matlab上简单牛顿

matlab上简单牛顿

2023-09-24 06:21| 来源: 网络整理| 查看: 265

备注:1.由于是敲实验报告自用,所以不能保证代码的通用性,具体问题还要具体分析 2.牛顿-柯特斯公式最多有7阶并且系数是确定了,这里是直接将柯特斯系数存入了矩阵 3.这里只有函数文件,脚本文件还请读者自行建立

function y=NewtonCotes(fun,a,b,n) #参数说明,fun为要计算积分的函数,a,b分别为积分的下限和上限,n为柯特斯公式的阶 sum=0; % 生成柯特斯系数矩阵 Cotescoeff=zeros(7,8); Cotescoeff(1,:)=[1,1,0,0,0,0,0,0]/2 Cotescoeff(2,:)=[1,4,1,0,0,0,0,0]/6 Cotescoeff(3,:)=[1,3,3,1,0,0,0,0]/8 Cotescoeff(4,:)=[7,32,12,32,1,0,0,0]/90 Cotescoeff(5,:)=[19,75,50,50,75,19,0,0]/288 Cotescoeff(6,:)=[41,216,27,272,27,216,41,0]/840 Cotescoeff(7,:)=[751,3577,1323,2989,2989,1323,3577,751]/17280 % 生成等距节点 x=zeros(1,n+1) x(1)=a for i=2:n+1 x(i)=x(i-1)+(b-a)/n; end for k=1:n+1 sum=sum+Cotescoeff(n,k) * fun(x(k)) end sum=sum * (b-a); y=sum; end


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3